Transforming Haskell for Tracing
نویسندگان
چکیده
Hat is a programmer’s tool for generating a trace of a computation of a Haskell 98 program and viewing such a trace in various different ways. Applications include program comprehension and debugging. A new version of Hat uses a stand-alone program transformation to produce self-tracing Haskell programs. The transformation is small and works with any Haskell 98 compiler that implements the standard foreign function interface. We present general techniques for building compiler independent tools similar to Hat based on program transformation. We also point out which features of Haskell 98 caused us particular grief.
منابع مشابه
Multiple-View Tracing for Haskell: a New Hat
Different tracing systems for Haskell give different views of a program at work. In practice, several views are complementary and can productively be used together. Until now each system has generated its own trace, containing only the information needed for its particular view. Here we present the design of a trace that can serve several views. The trace is generated and written to file as the...
متن کاملFreja, Hat and Hood - A Comparative Evaluation of Three Systems for Tracing and Debugging Lazy Functional Programs
In this paper we compare three systems for tracing and debugging Haskell programs: Freja, Hat and Hood. We evaluate their usefulness in practice by applying them to a number of moderately complex programs in which errors had deliberately been introduced. We identify the strengths and weaknesses of each system and then form ideas on how the systems can be improved further.
متن کاملRay-tracing and Interferometry in Schwarzschild Geometry
Here, we investigate the possible optical anisotropy of vacuum due to gravitational field. In doing this, we provide sufficient evidence from direct coordinate integration of the null-geodesic equations obtained from the Lagrangian method, as well as ray-tracing equations obtained from the Plebanski’s equivalent medium theory. All calculations are done for the Schwarzschild geometry, which resu...
متن کاملDeclarative Scripting in Haskell
We present a domain-specific language embedded within the Haskell programming language to build scripts in a declarative and typesafe manner. We can categorize script components into various orthogonal dimensions, or concerns, such as IO interaction, configuration, or error handling. In particular, we provide special support for two dimensions that are often neglected in scripting languages, na...
متن کاملA Semantics for Tracing — Work in Progress —
We define a small step operational semantics for a core of Haskell. We modify this semantics to generate traces, specifically Augmented Redex Trails. This small and direct definition of Augmented Redex Trails shall improve our understanding of them and shall help to extend them systematically. 1 Hat — The Haskell Tracer Hat is a tool for viewing the computation of a Haskell program in various w...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002